>*< :: F c ho -> F c ho -> F c ho
>*< fl fr
>*<
operate in parallel, indepdenetly of one
another. The high level output streams from the individual
fudgets are merged into a single stream. The input stream,
is duplicated and fed to the both fudgets.
fl :: F c ho
fr :: F c ho
The following equality holds (except that the tagging of low level messages will be different). The left hand side is likely to be more efficient.
fud1 >*< fud2 = mapF stripEither >==< (fud1 >+< fud2) >==< toBothF